﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;

namespace LuoYi.Admin.Entities;

/// <summary>
/// 字典数据表
/// </summary>
[Table("sys_dict_data")]
public class SysDictDatum: IEntity
{
    /// <summary>
    /// 字典编码
    /// </summary>
    [Key]
    [Column("dict_code", TypeName = "bigint(20)")]
    public long DictCode { get; set; }

    /// <summary>
    /// 字典排序
    /// </summary>
    [Column("dict_sort", TypeName = "int(4)")]
    public int? DictSort { get; set; }

    /// <summary>
    /// 字典标签
    /// </summary>
    [Column("dict_label")]
    [StringLength(100)]
    public string? DictLabel { get; set; }

    /// <summary>
    /// 字典键值
    /// </summary>
    [Column("dict_value")]
    [StringLength(100)]
    public string? DictValue { get; set; }

    /// <summary>
    /// 字典类型
    /// </summary>
    [Column("dict_type")]
    [StringLength(100)]
    public string? DictType { get; set; }

    /// <summary>
    /// 样式属性（其他样式扩展）
    /// </summary>
    [Column("css_class")]
    [StringLength(100)]
    public string? CssClass { get; set; }

    /// <summary>
    /// 表格回显样式
    /// </summary>
    [Column("list_class")]
    [StringLength(100)]
    public string? ListClass { get; set; }

    /// <summary>
    /// 是否默认（Y是 N否）
    /// </summary>
    [Column("is_default")]
    [StringLength(1)]
    public string? IsDefault { get; set; }

    /// <summary>
    /// 状态（0正常 1停用）
    /// </summary>
    [Column("status")]
    [StringLength(1)]
    public string? Status { get; set; }

    /// <summary>
    /// 创建者
    /// </summary>
    [Column("create_by")]
    [StringLength(64)]
    public string? CreateBy { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    [Column("create_time", TypeName = "datetime")]
    public DateTime? CreateTime { get; set; }

    /// <summary>
    /// 更新者
    /// </summary>
    [Column("update_by")]
    [StringLength(64)]
    public string? UpdateBy { get; set; }

    /// <summary>
    /// 更新时间
    /// </summary>
    [Column("update_time", TypeName = "datetime")]
    public DateTime? UpdateTime { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    [Column("remark")]
    [StringLength(500)]
    public string? Remark { get; set; }
}
